#ifndef __INNER_MODS_SCHED_H_
#define __INNER_MODS_SCHED_H_


#include "typedef.h"
#include "astraldef.h"


#if defined(_2MISC) || defined(_2SCHED)
void schedule();
#endif //stop api range control

#if defined(_2TASK) || defined(_2SCHED)
boolean state_change(AstralTask task, AstralTaskStatus status, boolean do_sched);
#endif //stop api range control

#if defined(_2TASK) || defined(_2SCHED)
void add_ready_task(AstralTask task);

void remove_ready_task(AstralTask task);

AstralTask pick_next_task();

AstralTask try_pick_next();

void disable_preempt(int core);

void restore_preempt(int core);
#endif

#if defined(_2TASK) || defined(_2SCHED)
boolean is_sched_disabled(int core);
#endif

#endif//__INNER_MODS_SCHED_H_